package ooday03;
//匿名内部类
//匿名内部类中不能修改外面局部变量的值
public class AnonInnerClassDemoamo {
    public static void main(String[] args) {
        int num=1;
        num=2;
        Aoo o1=new Aoo() {
            void show(){
//                num=5;匿名内部类中不能修改外面局部变量的值  改了报错
            }
        };
            //1创建了Aoo的派生类  但是没有名字
            //2为该类创建一个对象名o1
        Aoo o2=new Aoo() {
            void show(){}
       };
        //1创建了Aoo的派生类  但是没有名字   另外一个派生类
        //2为该类创建一个对象名o2 向上造型为Aoo类型

        o1.show();
        o2.show();

        Aoo o3 =new Boo();//相当于第二步
        Aoo o4 =new Boo();
        Aoo o5 =new Boo();
        Aoo o6 =new Boo();
        o3.show();
    }
}
class Boo extends Aoo{
    void show(){}
}//相当于第一步

abstract class Aoo{
    abstract void show();
}